package cn.hwl.springframework.beans.factory;

import cn.hwl.springframework.beans.BeansException;
import cn.hwl.springframework.beans.factory.config.AutowireCapableBeanFactory;
import cn.hwl.springframework.beans.factory.config.BeanDefinition;
import cn.hwl.springframework.beans.factory.config.BeanPostProcessor;
import cn.hwl.springframework.beans.factory.config.ConfigurableBeanFactory;

/**
 * @author :  HuangWL
 * @date :    2022/4/27 15:29
 *  *提供分析和修改Bean以及预先实例化的操作接口，不过目前只有一个 getBeanDefinition 方法
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

//    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
